package rpg.script;

import rpg.map.Creature;
import rpg.map.Location;
import square.script.CreatureScript;

public abstract class CreatureScriptImpl extends MapObjectScriptImpl implements
		CreatureScript {

	// AI Event
	@Override
	public boolean onThink(Integer time) {
		return true;
	}

	// Walk Event
	public boolean onWalk(Location next) {
		return true;
	}

	@Override
	public void onWalkFinish() {
	}

	// Teleport Event
	public boolean onTeleport(Location next) {
		return true;
	}

	@Override
	public void onTeleportFinish() {
	}

	// Target Event
	public boolean onTarget(Creature creature) {
		return true;
	}

	@Override
	public boolean onTargetLose() {
		return true;
	}

	public boolean onTargetOf(Creature creature) {
		return true;
	}
	
	public boolean onTargetOfLose(Creature creature) {
		return true;
	}
	
	// Die Event
	@Override
	public boolean onDie() {
		return true;
	}

	// Get & Set
	@Override
	public Creature getObject() {
		return (Creature) super.getObject();
	}

	public Creature getCreature() {
		return getObject();
	}
}
